It is well-known that the use of multiple antennas at the transmitter and/or the receiver can significantly boost the performance of a wireless system. Such multiple-input-multiple-output (MIMO) or Multiple Input Single Output (MISO) antenna configurations have the potential of both improving data rates as well as increasing the diversity.
Precoding is a popular multi-antenna technique for improving the performance of a multi-antenna system such as MIMO by transforming the information carrying transmit vector so that it better fits the channel conditions. This can be done based on instantaneous channel information or completely without channel information or some combination thereof. Often, precoding is implemented as performing a linear transformation on the information carrying vector prior to transmission. Such linear transformation is usually represented by a matrix. Precoding is an integral part of Long Term Evolution (LTE) as well of Wideband Code Division Multiple Access (WCDMA) systems.
In many wireless systems such as Frequency Division Duplex (FDD) systems, the transmitter will not have perfect channel information because the forward and reverse channels lack reciprocity. The transmission is on the forward channel, but the transmitter itself may only perform channel measurements on the reverse channel. If the forward and reverse channels do not have the same channel characteristics, the reverse channel measurements will hence not always be representative of the forward channel. For this reason the actual forward channel is most often measured at the receiver, and appropriate feedback information is then provided to the transmitter through a finite-rate feedback channel. Throughout the disclosure, the term receiver implies that the considered unit can receive, but it may, and usually does, have the ability to transmit information including feedback information. Likewise, the term transmitter implies that the considered unit can transmit, but it may have the ability to receive information including feedback information.
There are two basic flavors of precoding—codebook based and non-codebook based. Codebook based precoding normally means that the precoding matrix implementing the linear transformation is selected from a typically finite set of candidate matrices, where the mentioned set constitutes the codebook. Channel-dependent codebook based precoding can be seen as a form of channel quantization since typically a set of channel realizations map to a certain precoding matrix. The feedback signaling mentioned above for example can be viewed as a way for the receiver to provide channel information to the transmitter; so called closed-loop precoding. Non-codebook based precoding, on the other hand, does not involve any quantization; the precoding element can thus for example be a continuous function of the channel matrix.
In reference [1], which relates to limited feedback precoding for spatial multiplexing, the receiver selects the precoding matrix from a finite codebook and then conveys an indication of the selected matrix to the transmitter using a limited number of bits; so-called quantization of the precoding matrix. The approach defined in reference [1] is sometimes referred to as joint quantization or matrix quantization, where an optimal or desired precoding matrix is computed using knowledge about the channel, and then an exhaustive search among the candidate matrices available in the finite matrix codebook is performed to find the candidate matrix that is closest to the optimal one in terms of a distance measure.
Unfortunately, one of the practical issues with matrix quantization is the high computational complexity normally involved. The size of the matrix codebook increases with the number of antennas used for the multi-antenna transmission. For a receiver in the form of a user terminal such as an ordinary mobile phone or similar user equipment, the heavy computations will drain the battery and may also prevent real-time implementations. Therefore so-called matrix quantization is of limited use in practice.
Examples of lower-complexity quantization approaches can be found in the literature. In references [2, 3], for example, an iterative or recursive vector quantization (VQ) technique is proposed. First an optimal or desired precoding matrix is computed using channel knowledge, and then this matrix is parameterized and quantized recursively column by column. The output of each column is a unit vector, the size of which reduces by one after each iteration. The columns of the overall matrix are recursively quantized one by one using a corresponding set of column or vector codebooks. For each column of the matrix the quantization is based on determining which candidate vector in the considered codebook that is closest to the column to be quantized.
The substitution of matrix quantization for iterative vector quantization reduces the computational complexity significantly. However, the performance of the iterative vector quantization techniques proposed in the prior art may still not be sufficient for the continuously increasing demands for higher data rates and more reliable data transmissions in modern mobile communication networks.